home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / misc / AmiPalmDev.lha / gcc-amigaos-host.diff < prev   
Text File  |  2000-04-04  |  9KB  |  256 lines

  1. diff -c -p -r1.1.1.1 -r1.2
  2. *** config.sub    1999/08/29 00:59:05    1.1.1.1
  3. --- config.sub    1999/09/01 11:48:53    1.2
  4. *************** case $basic_machine in
  5. *** 277,286 ****
  6.           os=-sysv
  7.           ;;
  8.       amiga | amiga-*)
  9. !         basic_machine=m68k-cbm
  10.           ;;
  11.       amigaos | amigados)
  12. !         basic_machine=m68k-cbm
  13.           os=-amigaos
  14.           ;;
  15.       amigaunix | amix)
  16. --- 277,286 ----
  17.           os=-sysv
  18.           ;;
  19.       amiga | amiga-*)
  20. !         basic_machine=m68k-unknown
  21.           ;;
  22.       amigaos | amigados)
  23. !         basic_machine=m68k-unknown
  24.           os=-amigaos
  25.           ;;
  26.       amigaunix | amix)
  27. diff -N x-amigaos
  28. *** gcc/config/m68k/x-amigaos    Tue May  5 13:32:27 1998
  29. --- gcc/config/m68k/x-amigaos    Sat Sep  4 11:20:56 1999
  30. ***************
  31. *** 0 ****
  32. --- 1,77 ----
  33. + # Makefile fragment for AmigaOS host
  34. + # Uncomment the following macro to get a resident GCC. We don't do it
  35. + # by default, since we want to support users with mc68000.
  36. + # WARNING!  If you uncomment this, you MUST add the same flags to the
  37. + # libiberty's Makefile (libiberty is now linked into GCC executables).
  38. + #RESIDENT = -m68020 -resident32
  39. + # Additional host flags that are not used when compiling with GCC_FOR_TARGET,
  40. + # such as when compiling the libgcc* runtime archives. GCC uses stack
  41. + # a lot, and since AmigaOS provides processes with a small, fixed size
  42. + # stack, we have to generate code that will extend it whenever necessary.
  43. + XCFLAGS = -mstackextend $(RESIDENT)
  44. + # AmigaOS supports "AmigaGuide(R)" hypertext files. For GCC, these are
  45. + # build with a custom "makeinfo".
  46. + ### begin-GG-local: gcc-amigaos
  47. + EXTRA_DOC_TARGETS = guide gcc-amigaos-doc
  48. + ### end-GG-local
  49. + # Arrange for guides to be build with GCC, in the build directory.
  50. + ALL = all.internal doc
  51. + # Actually build guides
  52. + guide: cpp.guide gcc.guide
  53. + cpp.guide: cpp.texi
  54. +     $(MAKEINFO) -I$(srcdir) $(srcdir)/cpp.texi --output=$@ --amiga
  55. + gcc.guide: gcc.texi extend.texi install.texi invoke.texi \
  56. +         md.texi rtl.texi tm.texi
  57. +     $(MAKEINFO) -I$(srcdir) $(srcdir)/gcc.texi --output=$@ --amiga
  58. + # Arrange for guides to be installed with GCC.
  59. + ### begin-GG-local: gcc-amigaos
  60. + INSTALL_TARGET=install-normal install-guide install-gcc-amigaos-doc
  61. + ### end-GG-local
  62. + # Where the guide files go
  63. + guidedir = $(prefix)/guide
  64. + # Actually install guides.
  65. + install-guide: doc installdirs
  66. +     -if [ -d $(guidedir) ] ; then true ; else mkdir $(guidedir) ; chmod a+rx $(guidedir) ; fi
  67. +     -rm -f $(guidedir)/cpp.guide $(guidedir)/gcc.guide
  68. +     for f in cpp.guide gcc.guide; \
  69. +     do $(INSTALL_DATA) $$f $(guidedir)/$$f; done
  70. +     -chmod a-x $(guidedir)/cpp.guide $(guidedir)/gcc.guide
  71. + ### begin-GG-local: gcc-amigaos
  72. + # Build and install gcc-amigaos.guide - documentation specific to the
  73. + # AmigaOS port of GCC.
  74. + gcc-amigaos-doc: gcc-amigaos.info gcc-amigaos.guide
  75. + gcc-amigaos.info: gcc-amigaos.texi
  76. +     $(MAKEINFO) -I$(srcdir) $(srcdir)/gcc-amigaos.texi --output=$@
  77. + gcc-amigaos.guide: gcc-amigaos.texi
  78. +     $(MAKEINFO) -I$(srcdir) $(srcdir)/gcc-amigaos.texi --output=$@ --amiga
  79. + install-gcc-amigaos-doc: doc installdirs
  80. +     -if [ -d $(guidedir) ] ; then true ; else mkdir $(guidedir) ; chmod a+rx $(guidedir) ; fi
  81. +     -rm -f $(infodir)/gcc-amigaos.info* $(guidedir)/gcc-amigaos.guide
  82. +     for f in gcc-amigaos.info*; \
  83. +     do $(INSTALL_DATA) $$f $(infodir)/$$f; done
  84. +     $(INSTALL_DATA) gcc-amigaos.guide $(guidedir)
  85. +     -chmod a-x $(infodir)/gcc-amigaos.info* $(guidedir)/gcc-amigaos.guide
  86. + ### end-GG-local
  87. Index: gcc/config/m68k/xm-amigaos.h
  88. ===================================================================
  89. RCS file: xm-amigaos.h
  90. diff -N xm-amigaos.h
  91. *** gcc/config/m68k/xm-amigaos.h    Tue May  5 13:32:27 1998
  92. --- gcc/config/m68k/xm-amigaos.h    Sat Sep  4 11:20:56 1999
  93. ***************
  94. *** 0 ****
  95. --- 1,98 ----
  96. + /* Configuration for GNU C-compiler for m68k Amiga, running AmigaOS.
  97. +    Copyright (C) 1992, 93-96, 1997 Free Software Foundation, Inc.
  98. +    Contributed by Markus M. Wild (wild@amiga.physik.unizh.ch).
  99. + This file is part of GNU CC.
  100. + GNU CC is free software; you can redistribute it and/or modify
  101. + it under the terms of the GNU General Public License as published by
  102. + the Free Software Foundation; either version 2, or (at your option)
  103. + any later version.
  104. + GNU CC is distributed in the hope that it will be useful,
  105. + but WITHOUT ANY WARRANTY; without even the implied warranty of
  106. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  107. + GNU General Public License for more details.
  108. + You should have received a copy of the GNU General Public License
  109. + along with GNU CC; see the file COPYING.  If not, write to
  110. + the Free Software Foundation, 59 Temple Place - Suite 330,
  111. + Boston, MA 02111-1307, USA.  */
  112. + /* First include the generic header, then modify some parts.  */
  113. + #include "m68k/xm-m68k.h"
  114. + #ifndef _FCNTL_H_
  115. + #include <fcntl.h>
  116. + #endif
  117. + /* Define various things that the AmigaOS host has.  */
  118. + #define HAVE_ATEXIT
  119. + #define HAVE_RENAME
  120. + /* AmigaOS specific headers, such as from the Native Developer Update kits,
  121. +    go in SYSTEM_INCLUDE_DIR.  STANDARD_INCLUDE_DIR is the equivalent of
  122. +    Unix "/usr/include".  All other include paths are set in Makefile.  */
  123. + #define SYSTEM_INCLUDE_DIR    "/gg/os-include"
  124. + #define STANDARD_INCLUDE_DIR    "/gg/include"
  125. + #define STANDARD_EXEC_PREFIX_1 "/gg/lib/gcc/"
  126. + #define STANDARD_STARTFILE_PREFIX_1 "/gg/lib/"
  127. + #define STANDARD_STARTFILE_PREFIX_2 "/gg/lib/"
  128. + /* The AmigaOS stores file names with regard to upper/lower case, but actions
  129. +    on existing files are case independent on the standard filesystems.
  130. +    A good example of where this causes problems is the conflict between the C
  131. +    include file <string.h> and the C++ include file <String.h>, where the C++
  132. +    include file dir is searched first and thus causes includes of <string.h>
  133. +    to include <String.h> instead.
  134. +    In order to solve this problem we define the macro OPEN_CASE_SENSITIVE as
  135. +    the name of the function that takes the same args as open() and does case
  136. +    dependent opens.  */
  137. + #define OPEN_CASE_SENSITIVE(NAME, FLAGS, MODE) open ((NAME), (FLAGS) | O_CASE, (MODE))
  138. + /* On the AmigaOS, there are two pathname separators, '/' (DIR_SEPARATOR)
  139. +    and ':' (VOL_SEPARATOR).  DIR_SEPARATOR defaults to the correct
  140. +    character, so we don't have to explicitly set it.  */
  141. + #define DIR_SEPARATOR '/'
  142. + #define VOL_SEPARATOR ':'
  143. + #define DIR_SEPARATOR_2 VOL_SEPARATOR
  144. + /* Determine whether a '\0'-terminated file name is absolute or not.
  145. +    This checks for both, '/' as the first character, since we're running under
  146. +    ixemul.library which provides for this unix'ism, and for the usual 
  147. +    logical-terminator, ':', somewhere in the filename.  */
  148. + #define FILE_NAME_ABSOLUTE_P(NAME) ((NAME)[0] == '/' || index ((NAME), ':'))
  149. + /* Like the above, but the file name is not '\0'-terminated.  */
  150. + #define FILE_NAME_ABSOLUTE_N_P(NAME, LEN) amigaos_file_name_absolute_n ((NAME), (LEN))
  151. + /* Return the file name part of the path name.  */
  152. + #define FILE_NAME_NONDIRECTORY(NAME)                    \
  153. +   (rindex ((NAME), '/') ? rindex ((NAME), '/') + 1            \
  154. +             : (rindex ((NAME), ':') ? rindex ((NAME), ':') + 1 \
  155. +                         : (NAME)))
  156. + /* Generate the name of the cross reference file.  */
  157. + #define XREF_FILE_NAME(BUFF, NAME)                    \
  158. + do                                    \
  159. +   {                                    \
  160. +     char *filesrc, *filedst;                        \
  161. +     strcpy ((BUFF), (NAME));                        \
  162. +     filesrc = FILE_NAME_NONDIRECTORY (NAME);                \
  163. +     filedst = (BUFF) + (filesrc - (NAME));                \
  164. +     sprintf (filedst, ".%s.gxref", filesrc);                \
  165. +   }                                    \
  166. + while (0)
  167. diff -c -p -r1.1.1.1 -r1.2
  168. *** gcc/toplev.c    1999/08/29 00:59:17    1.1.1.1
  169. --- gcc/toplev.c    1999/09/01 11:49:00    1.2
  170. *************** main (argc, argv)
  171. *** 5440,5446 ****
  172.   
  173.     compile_file (filename);
  174.   
  175. ! #if !defined(OS2) && !defined(VMS) && (!defined(_WIN32) || defined (__CYGWIN__)) && !defined(__INTERIX)
  176.     if (flag_print_mem)
  177.       {
  178.         char *lim = (char *) sbrk (0);
  179. --- 5451,5457 ----
  180.   
  181.     compile_file (filename);
  182.   
  183. ! #if !defined(OS2) && !defined(VMS) && (!defined(_WIN32) || defined (__CYGWIN__)) && !defined(__INTERIX) && !defined (__amigaos__) && !defined (__BEOS__)
  184.     if (flag_print_mem)
  185.       {
  186.         char *lim = (char *) sbrk (0);
  187. *** gcc/configure~    Sun Mar 19 11:37:57 2000
  188. --- gcc/configure    Sun Mar 19 16:24:33 2000
  189. ***************
  190. *** 4440,4445 ****
  191. --- 4440,4453 ----
  192.           extra_headers=math-68881.h
  193.           float_format=m68k
  194.           ;;
  195. +      m68k-*-amigaos*)
  196. +          xm_file=m68k/xm-amigaos.h
  197. +          tm_file=m68k/amigaos.h
  198. +          tmake_file=m68k/t-amigaos
  199. +          xmake_file=m68k/x-amigaos
  200. +          extra_objs=amigaos.o
  201. +          gnu_ld=yes
  202. +          ;;
  203.   
  204.       m88k-dg-dgux*)
  205.           case $machine in
  206.